package utils

import (
	"github.com/dchest/captcha"
)

// MyCaptchaModel 验证码结构体
type MyCaptchaModel struct {
	ID   string `json:"id"`
	Path string `json:"path"`
}

// Captcha 几位数字的验证码
func Captcha(len int) *MyCaptchaModel {
	captchaID := captcha.NewLen(len)
	stru := MyCaptchaModel{
		ID:   captchaID,
		Path: "/pub/captcha/" + captchaID + "",
	}
	return &stru
}

// VerifyCaptcha 验证用户输入的验证码是否一致
func VerifyCaptcha(captchaID, postCaptcha string) bool {
	success := captcha.VerifyString(captchaID, postCaptcha)
	// 验证码验过一次之后，需要重新生 captchaID 以确保安全，事实是不重新生成，前端图片显示不出来
	return success
}
